package com.isias.system.service;


import com.isias.model.dto.CourseDto;
import com.isias.model.dto.CourseWithStar;
import com.isias.model.dto.PingLunDto;
import com.isias.model.dto.UserAndIdDto;
import com.isias.model.vo.CourseVo;
import com.isias.model.vo.SelectCourseVo;
import com.isias.model.vo.Star;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface CourseService {

    List<CourseDto> SelectAll(SelectCourseVo courseVo);

    CourseDto SelectOne(String id);     //根据课程id查询

    Boolean UpdataOneById( CourseVo courseVo);//更改单个

    Boolean RemoveOneById(String id);//逻辑删除

    Boolean Add(CourseVo courseVo);    //插入

    Boolean RemoveByIds(List<String> ids);  //批量删除

    List<UserAndIdDto> SelectUserAndId();

    Boolean UpdateUrlById(String url,String id);

    List<CourseDto> SelectAllById(String Id, SelectCourseVo courseVo);

    List<CourseDto> SelectMyCourse(String id,SelectCourseVo courseVo);

    Boolean AddCourseToMe(String userid,String Courseid);

    Boolean DeleteCourseToMe(String userid,String Courseid);

    Boolean Star(String getId, String courseId, Star star);

    Double GetStar(String courseId);

    Star GetStarInfo(String getId, String courseId);

    List<CourseWithStar> SelectAllStar();

    List<PingLunDto> GetPingLun(String courseId);

    CourseWithStar GetStarCourse();

    CourseWithStar GetMostStudy();
}
